Touch computing devices, such as tablets, smartphones, and the like, allow a user to interact with the devices using a finger or stylus, in addition to more traditional devices that use a mouse or keyboard for user interaction. Typically, these devices allow a user to run any number of user applications to perform various computing and productivity tasks, including word processing, gaming, web browsing, email, spreadsheets, programming, multimedia viewing, and other various tasks. An operating system is employed on these devices to both provide a software platform for the applications and to allow interaction with the underlying hardware, such as a mouse/keyboard, touch screens, displays, speakers, microphones, and any number of network connections.
However, in many examples, user input received through a user interface causes a cascading sequence of events to allow the device to respond to the input. These sequence of events can lead to lag from when a user issues an input and the device responds accordingly, which can be pronounced when using touch interfaces. To connect content or application user interface to user events, such as responsive to finger movement on a touch screen, developers traditionally program an application to listen to touch input and, based on this input, move various graphical and textual elements. This approach requires application developers to author complex code specific to each scenario, device, operating system, and other platform-specific characteristics. In addition, this has performance limitations. Code listening to input which determines where to move objects can get interrupted or can introduce time delays to push updates to the screen causing objects to lag behind the user input.